package com.wyl.util;

/**
 * 队列属性
 * @author 吴宇亮 on 2023/6/9 10:11
 */
public enum QueueArguments {

    /**
     * 设置队列的最大长度
     * 如果当前队列已经满了，继续来消息，那么消息就会被丢弃，或者转发到死信队列中
     */
    XMaxLength("x-max-length"),
    /**
     * 设置队列的ttl，默认队列没有ttl限制
     * 比如：params.put("x-message-ttl", "60 * 1000");  // 消息的 TTL 为 60 秒
     */
    XMessageTtl("x-message-ttl"),
    /**
     * 设置队列的死信交换机
     * 比如：params.put("x-dead-letter-exchange", "死信交换机名称");
     */
    XDeadLetterExchange("x-dead-letter-exchange"),
    /**
     * 设置队列的死信路由
     * 比如：params.put("x-dead-letter-routing-key", "死信的routerKey");
     */
    XDeadLetterRoutingKey("x-dead-letter-routing-key"),

    ;

    /**
     * 参数名称
     */
    private String argumentName;

    QueueArguments(String argumentName) {
        this.argumentName = argumentName;
    }

    public String getArgumentName() {
        return argumentName;
    }
}
